<template>
  <section class="mainphoto">
    <div class="column">
      <Leftview></Leftview>
    </div>
    <div class="column" style="flex: 5; height: 700px">
      <div style="height: 60%" ref="maine"></div>
      <div style="height: 40%" id="line"></div>
    </div>
    <div class="column"><Leftbottom></Leftbottom></div>
  </section>
</template>

<script>
import Leftview from "../../menu/viewpic/leftview.vue";
import Leftbottom from "./leftBottom.vue";
const worl = require("@/assets/map/world.json");
export default {
  components: { Leftview,Leftbottom},
  data() {
    return {
      chinachart: null,
    };
  },
  mounted() {
    this.getEarchData();
    this.getLineData();
  },
  methods: {
    getEarchData() {
      this.chinachart = this.$echarts.init(this.$refs.maine);
      function getAirportCoord(idx) {
        return [worl.airports[idx][3], worl.airports[idx][4]];
      }
      var routes = worl.routes.map(function (airline) {
        return [getAirportCoord(airline[1]), getAirportCoord(airline[2])];
      });
      const option = {
        backgroundColor: "transparent",
        globe: {
          baseTexture: require("@/assets/map/world.topo.bathy.200401.jpg"),
          heightTexture: require("@/assets/map/bathymetry_bw_composite_4k.jpg"),
          shading: "lambert",
          light: {
            ambient: {
              intensity: 0.4,
            },
            main: {
              intensity: 0.4,
            },
          },

          viewControl: {
            autoRotate: false,
          },
        },
        series: {
          type: "lines3D",
          coordinateSystem: "globe",
          blendMode: "lighter",
          lineStyle: {
            width: 1,
            color: "rgb(50, 50, 150)",
            opacity: 0.1,
          },
          data: routes,
        },
      };

      this.chinachart.setOption(option);
    },
    getLineData() {
      var chartDom = document.getElementById("line");
      var myChart = this.$echarts.init(chartDom);
      var option;
      option = {
        title: {
          text: "经济指数",
        },
        tooltip: {
          trigger: "axis",
        },
        legend: {
          data: ["Email", "Union Ads", "Video Ads", "Direct", "Search Engine"],
        },
        grid: {
          left: "3%",
          right: "4%",
          bottom: "3%",
          containLabel: true,
        },
        toolbox: {
          feature: {
            saveAsImage: {},
          },
        },
        xAxis: {
          type: "category",
          boundaryGap: false,
          data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
        },
        yAxis: {
          type: "value",
        },
        series: [
          {
            name: "Email",
            type: "line",
            stack: "Total",
            data: [120, 132, 101, 134, 90, 230, 210],
          },
          {
            name: "Union Ads",
            type: "line",
            stack: "Total",
            data: [220, 182, 191, 234, 290, 330, 310],
          },
          {
            name: "Video Ads",
            type: "line",
            stack: "Total",
            data: [150, 232, 201, 154, 190, 330, 410],
          },
          {
            name: "Direct",
            type: "line",
            stack: "Total",
            data: [320, 332, 301, 334, 390, 330, 320],
          },
          {
            name: "Search Engine",
            type: "line",
            stack: "Total",
            data: [820, 932, 901, 934, 1290, 1330, 1320],
          },
        ],
      };

      option && myChart.setOption(option);
    },
  },
};
</script>

<style lang="less" scoped>
.mainphoto {
  display: flex;
  margin: 0 auto;
  padding: 5px 10px;
  .column {
    flex: 3;
    border: #2c3e50 solid 1px;
  }
}
</style>